package queue.class1;

import java.util.HashMap;
import java.util.Map;
import java.util.function.IntPredicate;

/**
 * 队列问题
 * <p>
 * 字符串中的第一个唯一字符
 * https://leetcode.cn/problems/first-unique-character-in-a-string/
 */
public class Code01_firstUniqChar {
    public static void main(String[] args) {
        String s = "aabb";
        int ans = firstUniqChar(s);
        System.out.println("ans = " + ans);
    }

    public static int firstUniqChar(String s) {
        int l = 0;
        char[] arr = s.toCharArray();
        int[] table = new int[26];
        // 1.计算出每个字符的数量
        for (char c : arr) {
            table[c - 'a']++;
        }

        // 2.遍历查看字符数==1时，为唯一首字符
        for (; l < arr.length; l++) {
            if (table[arr[l] - 'a'] == 1) {
                return l;
            }
        }
        return -1;
    }
}
